/* Hydra-FC Install V2.0 (C) by Mxlprx / Deep Forest BBS */
Ver="v0.38▀";NL = '0a'x;fonttag=""
call addlib("rexxreqtools.library", 0, -30, 0)
If ~Exists("libs:rexxreqtools.library") then do
If ~Exists("RAM:Libs/rexxreqtools.library") then do
call rtezrequest("Rexxreqtools.library wurde nicht gefunden !","Alles Klar!")
EXIT
end
end
KFFlag=0
dcheck=0
dtable=""
pip=0
ExtraULDL=0
b1=""
b2=""
sbl=""
sopvtr=0
call CreateMB_Assign
address command "assign mb: "fcpfad
Center="rtgs_flags=gsreqf_centertext"
Tags="rtez_flags=ezreqf_noreturnkey"
dcheckold=0
dtableold=""
pipold=0
ExtraULDLold=0
b1old=""
b2old=""
sblold=""
sopvtrold=""
If Exists("S:Hydra-FC.cfg") then do
AnsDUMMY=rtezrequest(NL||center("Es besteht noch eine alte Konfiguration,",45)NL||NL||center("die nun eingelesen und angezeigt wird!",45)||NL,"Mach mal!")
open(Config,"S:Hydra-FC.cfg","R")
dcheckold=readln(Config)
dtableold=readln(Config)
pipold=readln(Config)
ExtraULDLold=readln(Config)
b1old=readln(Config)
b2old=readln(Config)
sblold=readln(Config)
sopvtrold=readln(Config) /* Neuer Eintrag */
close(config)
dcheck=dcheckold
dtable=dtableold
pip=pipold
ExtraULDL=ExtraULDLold
b1=b1old
b2=b2old
sbl=sblold
sopvtr=sopvtrold /* Neuer Eintrag */
if dcheck=1 then d="Ja"
else d="Nein"
if pip=1 then p="Ja"
else p="Nein"
if ExtraULDL=1 then exULDL="Ja"
else exULDL="Nein"
if sopvtr=1 then sopvt="Ja"
else sopvt="Nein"
really=rtezrequest(NL||center("Die bereits bestehende Konfiguration fⁿr Hydra-FC ist:",55)||NL||NL" Dupecheck: "d||NL" Dupe-Table: "dtable||NL"FC-Protokoll beschreiben: "p||NL" Extra Up/Down-Protokoll: "exULDL||NL" Hydra-Brett #1: "b1||NL" Hydra-Brett #2: "b2||NL" Name der SentBy-Line: "sbl||NL"Sysop-Mails an Vertreter: "||sopvt||NL||NL||center("M÷chten Sie diese Konfiguration Σndern",55)||NL||center("ODER Hydra-FC eventuell neu installieren?",55)||NL,"Ja|Nein") /* Neuer Eintrag */
if really=0 then exit
end
Anfang:
Ans1=rtezrequest(NL||center("Hydra-FC Installer & Config Editor",50)||NL||center("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",50)||NL||center("Die aktuelle Version der Hydracom-Einbindung",50)||NL||center("fⁿr FastCall Mailboxsysteme",50)||NL||center("ist "Ver"!!",50)||NL||NL||center("Updates gibt es in der",50)||NL||center("DeEp FoReST - 06203 68967",50)||NL||CENTER("oder ⁿber Netze (z.B. FC-Netz / Mailbox-Tools)",50)||NL,"Alles klor!",fonttag)
Konfig:
Ans2=rtezrequest(NL"Welchen Schritt m÷chten Sie gerne durchfⁿhren ?┐?"||NL||NL"INSTALL = Hydra-FC installieren"||NL"CONFIG = Hydra-Konfiguration "||NL"SAVE CFG = Konfiguration abspeichern"||NL,"INSTALL|CONFIG|SAVE CFG| ENDE ","Einstellungen",Tags)
IF Ans2=1 then signal Install
IF Ans2=2 then signal Konfiguration
IF Ans2=3 then signal WriteConfig
EXIT
Install:
if exists("s:Hydra-FC.cfg") then do
weiter=rtezrequest(NL||center("Es besteht noch eine alte Konfiguration.",50)||NL||NL||center("M÷chten Sie diese vor der Installation l÷schen?",50)||NL,"Ja|Nein, nur neu installieren","",Tags)
if weiter=1 then address command "Delete s:Hydra-FC.cfg"
end
boardmade=rtezrequest(NL||center("Haben Sie bereits, wie im Guide beschrieben,",45)||NL||center("ein oder zwei temporΣre Hydra-Bretter",45)||NL||center("fⁿr die Transfers eingerichtet?",45)||NL||NL||"(2 Bretter sind fⁿr Multiport-Systeme gⁿnstig,"NL"falls das eine Brett gerade auf einem"NL"anderen Port benutzt wird!)"||NL,"Ja|Nein, noch nicht","Installation",Tags)
if boardmade=0 then do
asktoinstallboards=rtezrequest(NL||center("Bitte installieren sie, bevor sie fortfahren,",50)||NL||center("ein oder zwei temporΣre Bretter fⁿr den",50)||NL||center("Hydra-Transfer.",50)||NL||NL||center("Bitte beachten: Diese Bretter M▄SSEN",50)||NL||center("den gleichen DOS-Pfad haben!!",50)||NL,"Okay, mach ich|Jo, is gebonkt!","Vor-Installations-Hinweise",Tags)
exit
end
inst=rtezrequest(NL"Es werden nun die ben÷tigten Files kopiert!"NL,"Alles klar!|Ne, lieber doch net..","Beginn der Installation",Tags)
if inst=0 then signal konfig
mbassign=0
address command 'copy c/FDiz-HydraFC c:'
address command 'copy c/move c:'
address command 'copy c/two c:'
address command 'copy s/FDizChck.cfg s:'
address command 'copy s/FdizLingualFile.ger s:'
address command 'copy s/FDizLHAStripNames s:'
address command 'copy rexx/Hydra-FC.rexx rexx:'
mbasgn=rtezrequest(NL||center("Haben Sie bereits einen Assign mb:,",40)||NL||center("der auf das Fastcall-Verzeichnis zeigt",40)||NL||center("(worin das Hauptprogramm liegt) ?",40)||NL,"Ja|Nein","Assign mb: in User-Startup bereits vorhanden?")
if mbasgn=0 then call CreateMB_Assign
hbasgn=rtezrequest(NL||center("Haben Sie bereits einen Assign hbin:, der auf",50)||NL||center("den DOS-Pfad der Hydra-Bretter zeigt?",50)||NL,"Ja|Nein","Assign mb: bereits vorhanden?")
if hbasgn=1 then signal noasgn
hbn=rtgetstring("",NL"Geben Sie nun den DOS-Pfad des/der Hydra-Bretter an:"NL||NL"Randbemerkung: Der DOS-Pfad BEIDER Bretter MU▀ gleich sein!!!"NL" Sollte dies nicht der Fall sein, dann brechen"NL" Sie ab und stellen Sie den gleichen Pfad ein."NL,"Eingabe des DOS-Pfades","OK|Abbruch")
if strip(hbn)="" then exit
noasgn:
if mbasgn=0|hbasgn=0 then do
if exists("S:User-Startup") then open(usstart,"S:User-Startup","A")
else open(usstart,"S:User-Startup","W")
writeln(usstart,"; BEGIN Hydra-FC")
if mbasgn=0 then writeln(usstart,"ASSIGN mb: "fcpfad)
if hbasgn=0 then writeln(usstart,"ASSIGN hbin: "hbn)
writeln(usstart,"; END Hydra-FC")
close(usstart)
end
spcommand=0
spcmd=rtezrequest(NL||center("Es besteht die M÷glichkeit, den SpecialCommand",50)||NL||center("'.hydra' zum Start des Scripts automatisch",50)||NL||center("in alle vorhandenen Ports einbauen zu lassen.",50)||NL||NL||center("Falls dieser Specialcommand bereits existieren",50)||NL||center("sollte, wird er nicht nochmals eingefⁿgt!",50)||NL||NL||center("M÷chten Sie den Specialcommand automatisch",50)||NL||center("in alle Ports eintragen lassen?",50)||NL,"Ja|Nein","Specialcommand installieren")
if spcmd=0 then signal Cont
spcommand=1
level=rtezrequest(NL||center("Es wird nun automatisch der SpecialCommand installiert!",60)||NL||NL||center("Ab welchem Userlevel m÷chten Sie Hydracom",60)||NL||center("ihren Usern zugΣnglich machen?",60)||NL,"1|2|3|4|5|6|7|8|9","Userlevel fⁿr Hydra-FC")
p=0
i=0
do until i=10
if i=0 then i=""
if exists("mb:boxdaten/specialcommands"i) then call AddSpecialCommand
if i="" then i=0
i=i+1
end
dummy=rtezrequest(NL"Es wurde in "p" Ports der neue SpecialCommand eingetragen"NL,"Okay!")
Cont:
if spcommand=1 then dummy=rtezrequest(NL||center("Hydra-FC wurde erfolgreich installiert!",42)||NL,"Okay!","Alles hat geklappt!")
else dummy=rtezrequest(NL||center("Hydra-FC wurde erfolgreich installiert!",42)||NL||NL||center("Sie mⁿssen jetzt nur noch fⁿr jeden Port",42)||NL||center("einen Special-Command '.hydra' einrichten,",42)||NL||center("da Sie dies nicht automatisch",42)||NL||center("erledigt haben lassen.",42)NL||center("(Im Guide erlΣutert)",42),"Okay, das werde ich dann gleich machen!","Alles hat geklappt!")
cfg=rtezrequest(NL||center("M÷chten Sie auch gleich die",40)||NL||center("Hydra-FC-Konfiguration editieren?",40)||NL||NL"(empfehlenswert!)","Ja, mache ich gleich|Nein, erst spΣter","Konfiguration sofort")
if cfg=1 then signal Konfiguration
signal Konfig
CreateMB_Assign:
open(fcp,"s:Hauptpfad","R")
fcpfad=readln(fcp)
close(fcp)
return
Konfiguration:
call cfg_dupecheck
call cfg_extraULDL
call cfg_HydraBretter
call cfg_Vertretermails
WriteConfig:
if b1="" then do
dummy=rtezrequest(NL||"Sie haben noch keine Konfiguration eingegeben!!"NL,"Upps...")
signal Anfang
end
If dcheck=1 then d="Ja"
else d="Nein"
if pip=1 then p="An"
else p="Aus"
if ExtraULDL=1 then e="An"
else e="Aus"
if sopvtr=1 then sopvt="Ja"
else sopvt="Nein"
really=rtezrequest(NL||center("Die jetzt eingestellte Konfiguration fⁿr Hydra-FC ist:",55)||NL||NL" Dupecheck angeschaltet: "d||NL"Filename der Dupe-Table: "dtable||NL||"Eintrag in FC-Protokoll: "p||NL||"Extra-Protokoll fⁿhren : "e||NL" Hydra-Brett #1: "b1||NL" Hydra-Brett #2: "b2||NL||"Filename der SentByLine: "sbl||NL||" Mail an Vertreter: "sopvt||NL||NL||center("M÷chten Sie noch mal etwas verΣndern?",55)||NL,"Ja|Nein|Zurⁿck","Konfiguration")
if really=1 then call changeconfig
if really=0 then signal Anfang
really2=rtezrequest(NL||center("M÷chten Sie die nun eingestellte",35)||NL||center("Konfiguration abspeichern?",35)||NL,"Ja|Nein|Abbruch","Konfiguration abspeichern")
if really2=0 then signal Anfang
if really2=2 then signal WriteConfig
open(confg,"s:Hydra-FC.cfg","W")
writeln(confg,dcheck)
writeln(confg,dtable)
writeln(confg,pip)
writeln(confg,ExtraULDL)
writeln(confg,b1)
writeln(confg,b2)
writeln(confg,sbl)
writeln(confg,sopvtr)
close(confg)
dummy=rtezrequest(NL||center("Hydra-FC wurde erfolgreich konfiguriert!",50)||NL||NL||center("Viel Spa▀ mit dem neuen Tool, das",50)||NL||center("zeigt, da▀ in FastCall doch noch was drinsteckt :)",50)||NL||NL||center("Und nicht vergessen: Schreib dem Progger wenigstens",50)||NL||center("eine nette Mail oder call doch mal in der",50)||NL||NL||center(".oOñ░~ Deep Forest ~░ñOo.",50)||NL||NL||center("(natⁿrlich auch fⁿr Bugreports :) )",50)||NL,"Sch÷n|Super!|Grandios!!|Unglaublich!!!|Genial!!!|8-)","Und schlie▀lich...",Tags)
exit
changeconfig:
what=rtezrequest(NL||center("Die jetzt eingestellte Konfiguration fⁿr Hydra-FC ist:",55)||NL||NL" Dupecheck angeschaltet: "d||NL"Filename der Dupe-Table: "dtable||NL||"Eintrag in FC-Protokoll: "p||NL||"Extra-Protokoll fⁿhren : "e||NL" Hydra-Brett #1: "b1||NL" Hydra-Brett #2: "b2||NL||"Filename der SentByLine: "sbl||NL||" Mail an Vertreter: "sopvt||NL||NL||center("Was soll nochmals geΣndert werden?",55)||NL||NL||" [1] Dupecheck/Dupetable"||NL||" [2] Eintrag in FC-UpDownload-Protokoll"||NL||" [3] Name der Hydra-Bretter"||NL||" [4] Extra Hydra-ULDL-Protokoll"||NL||" [5] Name der SentByLine"||NL||" [6] Sysop-Mails auch an Vertreter"||NL,"1|2|3|4|5|6|Zurⁿck","Konfiguration nochmals Σndern")
if what=1 then call cfg_dupecheck
if what=2 then call cfg_pip
if what=3 then call cfg_HydraBretter
if what=4 then call cfg_extraULDL
if what=5 then call SentByReq
if what=6 then call cfg_Vertretermails
signal WriteConfig
cfg_dupecheck:
dcheck=0
dtable=""
pip=0
dupe=rtezrequest(NL||center("Es besteht die M÷glichkeit, einen Dupe-Check",55)||NL||center("fⁿr Hydracom in Verbindung mit verschiedenen",55)||NL||center("Mailboxcheckersystemen fⁿr Fastcall zu realisieren.",55)||NL||NL||center("Soll der Dupecheck angeschaltet werden?",55)||NL,"Ja|Nein","Dupecheck")
if dupe=1 then do
dcheck=1
mbchk=rtezrequest(center("Haben Sie einen der folgenen Mailboxchecker?",65)||NL||NL||" [1] MXM-Filechecker [2] KF-Mailboxchecker"NL" [3] Doublecheck v. Martin Brⁿckner [4] File-Existenz-Archiv-Checker"NL,"1|2|3|4|Keinen von diesen","Mailboxchecker",Tags)
if mbchk=1 then signal MXM
if mbchk=2 then signal KF
if mbchk=3 then signal MBR
if mbchk=4 then signal FEA
FileReq:
freq=rtezrequest(NL||center("Es folgt nun ein File-Requester, in dem Sie",62)||NL||center("die sog. Dupe-Table ihres Mailboxcheckers",62)||NL||center("auswΣhlen mⁿssen, um den DupeCheck",62)||NL||center("in Funktion setzen zu k÷nnen!",62)||NL||NL||"Eine falsche Angabe kann zu Problemen bei Systemfiles fⁿhren!"NL,"Verstanden|Hilfe|Nix blick..")
if freq=0 then do
dummy=rtezrequest(NL"Wenn Unklarheiten bestehen, setzen Sie sich mit"NL"dem Autor dieses Programmes per email"NL"auseinander (Mxlprx@d-forest.domino.de)"NL"oder rufen in der Support-Mailbox 06203-68967 an!"NL,"Jojo..","",Tags)
exit
end
if freq=2 then do
dummy=rtezrequest(NL"Eine Dupe-Table ist ein Ascii-File, in dem "NL"die Namen bereits upgeloadeter Files"NL"abgelegt werden, womit ⁿberprⁿft werden kann,"NL"ob ein File schon mal frⁿher geuppt wurde."NL||NL"Falls Sie nicht wissen, wo diese"NL"Dupe-Table zu finden ist oder wie"NL"sie hei▀t, schauen Sie in der Anleitung"NL"Ihres Mailboxcheckers nach!"NL,"Jo, jetzt is alles klar!","",Tags)
signal FileReq
end
file=rtfilerequest("s:")
dtable=file
call cfg_pip
SentByReq:
sbreq=rtgetstring("",NL||center("Viele Mailboxcheckersysteme erlauben es, eine",60)||NL||center("SentBy-Line an die Filebeschreibung",60)||NL||center("anzuhΣngen, die zeigt, von wem das File geuppt wurde.",60)||NL||center("Dieser String wird im Userverzeichnis abgelegt, wie z.B.",60)||NL||center("unter dem Filenamen SentByLine, SentByFlag o.Σ.",60)||NL||NL||center("Wie hei▀t die SentBy-Line nun bei Ihrem Mailboxchecker?",60)||NL||center("WICHTIG: Er darf KEINE Leerstellen haben!!",60)||NL,"Eingabe des Filenamens der SentBy-Line","OK|HILFE|Abbruch")
if sbreq=0 then do
exit
end
if sbreq=2 then do
dummy=rtezrequest(NL||center("Wenn Ihr Mailboxchecker keine SentBy-Line",65)NL||center("unterstⁿtzt, drⁿcken Sie einfach nur 'OK',",65)NL||center("ohne etwas einzugeben!",65)NL||NL||center("Wenn Sie nicht wissen, wie der Filename der SentByLine hei▀t,",65)NL||center("schauen Sie einfach den Inhalt eines beliebigen",65)NL||center("Userverzeichnisses an, in dem ein File",65)NL||center("wie z.B. SentByLine, SentByFlag o.Σ. vorhanden sein sollte.",65)NL||NL||center("Oder schauen Sie in der Anleitung des Checkers nach :)",65)NL,"Ok|Gut|Alles klar")
signal SentByReq
end
sbl=sbreq
return
end
return
MXM:
dtable="s:MXM-Filecheck.lst"
pip=1
sbl="SentByFlag"
return
KF:
how=rtezrequest(NL||center("Beim KF-Mailboxchecker gibt es 2 M÷glichkeiten,",50)||NL||center("eine Dupe-Table zu benutzen.",50)||NL||NL||" [1] Dupe-Check per Fastcalls UpDownload-Protokoll"NL" [2] Dupe-Check mit eigener File-Liste"NL||NL||center("Welchen Modus haben Sie bei sich laufen?",50)||NL,"1|2|ZUR▄CK","KF-Mailboxchecker",Tags)
hbrett=rtezrequest(NL||center("Wieviele temporΣre Hydra-Bretter",40)||NL||center("haben sie bereits installiert?",40)||NL||NL"(2 Bretter sind fⁿr Multiport-Systeme gⁿnstig,"NL"falls das eine Brett gerade auf einem"NL"anderen Port benutzt wird!)"||NL,"1|2|Noch keines!","temporΣre Hydra-Bretter",Tags)
if hbrett=0 then signal glgl
if hbrett=1 then signal einbrett
zweibrett:
b1=rtgetstring("",NL"Geben Sie den Namen des ersten Hydra-Brettes an"NL||NL"Beachten Sie dabei, keine "" oder / zu verwenden"NL"sondern nur den reinen Brettnamen, wie er auch"NL"im Brett-Editor eingegeben wird!!"NL,"Brettname des ersten temporΣren Hydra-Brettes","OK|Abbruch")
if b1="" then exit
b2=rtgetstring("",NL"Geben Sie den Namen des zweiten Hydra-Brettes an"NL||NL"Beachten Sie dabei, keine "" oder / zu verwenden"NL"sondern nur den reinen Brettnamen, wie er auch"NL"im Brett-Editor eingegeben wird!!"NL,"Brettname des zweiten temporΣren Hydra-Brettes","OK|Abbruch")
if b2="" then exit
return
einbrett:
b1=rtgetstring("",NL"Geben Sie den Namen des Hydra-Brettes an"NL||NL"Beachten Sie dabei, keine "" oder / zu verwenden"NL"sondern nur den reinen Brettnamen, wie er auch"NL"im Brett-Editor eingegeben wird!!"NL,"Brettname des temporΣren Hydra-Brettes","OK|HILFE|Abbruch")
if b1="" then exit
return
glgl:
dummy=rtezrequest(NL||center("Wie sind Sie denn bis hierher gekommen?",60)||NL||NL||center("Sie mⁿssen doch erst die beiden Hydra-Bretter",60)||NL||center("installieren! Oder zumindest eines.. :)",60)||NL,"Okay, mach ich schnell|Jaja, ich mach ja schon")
exit
cfg_extraULDL:
euldl=rtezrequest(NL||center("M÷chten Sie ein extra Hydra-Up/Downloadprotokoll",50)||NL||center("anlegen lassen? (mb:HydraLog/ULoads + DLoads)",50)||NL,"Ja|Nein","",Tags)
dummy=rtezrequest(NL||center("Achtung!!",70)||NL||center("*************",70)||NL||NL||center("Da Sie den Dupe-Check ⁿber das FastCall-UpDownload-Protokoll",70)||NL||center("bewerkstelligen lassen, darf diese Funktion nicht aktiviert werden,",70)||NL||center("weil ansonsten jedes geuploadete File als bereits vormalig",70)||NL||center("geuppt erkannt wird! Aus diesem Grund ist es bei",70)||NL||center("Wahl des KF-Checker-Dupechecks per FC-Protokoll nicht m÷glich,",70)||NL||center("diese Funktion zu aktivieren!!",70)||NL,"Ach so ist das..|Alles klaro.","",Tags)
return
end
pipr=rtezrequest(NL||center("M÷chten Sie, da▀ Hydra-FC die upgeloadeten Files",60)||NL||center("in das FastCall-UpDownload-Protokoll einschreibt?",60)||NL,"Ja|Nein","",Tags)
if pipr=1 then pip=1
else pip=0
return
cfg_vertretermails:
vtr=rtezrequest(NL||center("M÷chten Sie, da▀ auch Vertreter des Sysops",55)||NL||center("Hydra-Systemmeldungen erhalten ?",55)||NL||NL||center("(wie z.B. Meldungen zu Dupe-Uploads usw...)",55)||NL,"Ja|Nein","",Tags)